.\"Title and section
.TH GEMRB 6

.\"###################################################
.SH NAME
GemRB
\- a reimplementation of the Infinity Engine

.\"###################################################
.SH SYNOPSIS
.B gemrb
[\-q] [\-c
.IR CONFIG-FILE ]
.br
.B gemrb
.IR PATH-TO-GAME
.br
.B torment
.br

.\"###################################################
.SH DESCRIPTION
.B GemRB
a portable open-source implementation of Bioware’s Infinity Engine, which runs 
fine RPGs like Baldur's Gate, Icewind Dale and Planescape: Torment.

.B GemRB
reimplements only the game engine. To actually play anything, you have to have
the data from the original game(s), installed or unpackaged where GemRB can find it.
See the
.I GamePath
and
.I CDn
settings in the engine configuration file below. A full install is recommended.

.\"###################################################
.SH OPTIONS
.TP
.BI \-q
Disable audio completely, regardless of supported audio plugins.

.TP
.BI \-c " FILE"
Use the specified configuration file
.IR FILE " instead"
of the default
.IR gemrb.cfg .

.TP
.BI \--color OPTION
Set the ANSI color option for terminal logging. -1 (the default) will attempt to automatically set this according to the terminal environment. 0 will disable color output, 1 will set it to the basic 8 color palette, and 2 will use full 24bit color codes.

.B Note:
You can also use the program's name as a mean to select the configuration file.
For example, if the program's name is
.I torment
instead of
.IR gemrb ,
the engine first searches for
.I torment.cfg
and only if it's not found it searches for
.IR gemrb.cfg .

To use this feature, just create a symbolic link
.I torment
pointing to the
.I gemrb
binary and then run
.IR torment
instead.

.\"###################################################
.SH CONFIGURATION
.PD 0
A configuration file consists of pairs
.IR PARAMETER=VALUE ,
each on its own line. The case of PARAMETER is not significant,
GameType is the same as GAMETYPE. If the same PARAMETER is defined
more than once, only the last occurrence is used.

Empty lines and lines starting with `#' (hash sign) are ignored.

At least the
.I GamePath
parameter needs to be changed. That is often enough, so do not fiddle with the other paths too much.

.SH General Parameters:

.TP
.BR GameType =(auto|bg1|bg2|iwd|iwd2|how|pst)
Type of the game. The value is a name of subdirectory in override/
and GUIScripts/ directories
with game type-specific files and scripts. It is at present also used
for various tweaks hardcoded in the GemRB engine. To autodetect the game
type, use the default "auto".

.TP
.BR GameName =STRING
Arbitrary name of the game. It will be displayed in the window's title bar.

.TP
.BR Encoding =(default|japanese|korean|chinese)
Specify language used in the game data.

.TP
.BR GUIEnhancements =INT
The value is a bitfield. Set it to 1 to enable a few GUI enhancements, mostly in BG2.
Add or set to 2 to try to autoidentify items on transfer (if the character has enough lore).
Add or set 4 if you want to skip the item description window when opening bags.
Enabled by default. Add or set 8 if you want the game to stop mouse scrolling the area at
its edges when the window loses focus.

.TP
.BR MultipleQuickSaves =(0|1)
EXPERIMENTAL. Set this to 1 if you want GemRB to keep multiple quicksaves around. Disabled by default.

.TP
.BR MaxPartySize =INT
Set this to 1-10 if you want more party members or enforce fewer. 6 by default.
.B NOTE:
For bigger parties you need to choose a big enough resolution, so there will be
enough room for all the party portraits! No space for that in PST or IWD2. The
10pp mod is required to fix various game scripts, so the extra party members
don't get stuck in cutscenes.

.TP
.BR Logging =(0|1)
By default (set to 1) logging is enabled and several loggers are used depending
on the plaftorm. Use 0 to disable all logging, which can help in performance
critical settings.

.\"###################################################
.SH Video Parameters:

.TP
.BR Width =INT
Game window width (in pixels).
This can be arbitrary, but results depend on the game data. 
Check the website for a detailed explanation of resolution modes.

.TP
.BR Height =INT
Game window height (in pixels).

.TP
.BR Bpp =INT
Color depth of the game window (in bits per pixel).

.TP
.BR Fullscreen =(0|1)
Whether the game should run in fullscreen mode.

.TP
.BR CapFPS =(-1|0|n)
Set FPS handling:
  -1: no limit
   0: VSync (SDL2), 30 (SDL1)
   n: cap to n FPS

.TP
.BR SkipIntroVideos =(0|1)
If set to
.IR 1 ,
the intro and logo videos are skipped to save developer's nerves. The default is
.IR 0 .

.TP
.BR GCDebug =(0|2047)
Bitfield with reserved bits for drawing Map debug layers.
  No Debugging features = 0 (default)
  DEBUG_SHOW_INFOPOINTS   		= 1
  DEBUG_SHOW_CONTAINERS   		= 2
  DEBUG_SHOW_DOORS				= 4
  DEBUG_SHOW_DOORS_SECRET		= 8
  DEBUG_SHOW_DOORS_DISABLED		= 16
  DEBUG_SHOW_DOORS_ALL			= 28
  DEBUG_SHOW_LIGHTMAP     		= 32
  DEBUG_SHOW_WALLS				= 64
  DEBUG_SHOW_WALLS_ANIM_COVER	= 128
  DEBUG_SHOW_WALLS_ALL			= 192
  DEBUG_SHOW_SEARCHMAP			= 256
  DEBUG_SHOW_FOG_UNEXPLORED		= 512
  DEBUG_SHOW_FOG_INVISIBLE		= 1024
  DEBUG_SHOW_FOG_ALL			= 1536


.\"###################################################
.SH Audio Parameters:

.TP
.BR AudioDriver =(openal|sdlaudio|none)
Use the specified plugin as the audio driver. The default is openal, while
.I none
will disable all audio.

.\"###################################################
.SH Path parameters:

.TP
.BR CaseSensitive =(0|1)
When
this parameter is set to
.IR 1 ,
the engine will try to find files regardless of their names' case at the cost
of a slight speed penalty. This is especially important when using
game files on CD-ROMs, where the files can't be renamed. Like
many Windows programs, the original games use inconsistent mix
of lower/upper case letters for naming and referencing their files.

Set this parameter to
.I 1
on Unix-like systems.

.TP
.BR GamePath =PATH
Path to the directory where the original game is installed. If you can't
install the game under MS Windows or with WINE, you can try to unpack the data files
with the
.I unshield
program found at
.IR http://synce.sourceforge.net .

.TP
.BR CD1 =PATH
.TP
.BR CD2 =PATH
.TP
.BR CDn =...
Path to the data files for the game's particular CDs or any other data sources.

.TP
.BR CachePath =PATH
User-writable directory where the engine caches uncompressed and temporary
files. Defaults to a subdirectory of the current directory.

.TP
.BR GemRBPath =PATH
Path to the GemRB installation. (To be obsoleted; preset at build time).

.TP
.BR GUIScriptsPath =PATH
Path to the directory with scripts controlling the game's GUI. (To be obsoleted; preset at build time).

.TP
.BR GemRBOverridePath =PATH
Path where GemRB looks for its game override directory.
It defaults to
.IR GemRBPath .
GemRB reuses some of the unused files from the original or replaces them
and this is the where they can be found. The path is preset at build time.
This directory has the highest priority when searching, so putting files in
the game override will not affect them. Use another directory and add it as
.IR ModPath
to the GemRB config.

.TP
.BR GemRBUnhardcodedPath =PATH
Path where GemRB looks for its unhardcoded engine data.
It defaults to
.IR GemRBPath .
The original games hardcoded this information in the engine.
The path is preset at build time.

.TP
.I The following variables do not need to be altered, unless you are doing something really special!

.TP
.BR SavePath =PATH
Path to the directory with save games. Note that this directory has to
contain
.I save/
and/or eventually
.I mpsave/
subdirectories and that only these subdirectories contain the actual
saved games.

.I SavePath
defaults to
.IR GamePath .

.TP
.BR GameDataPath =PATH
Path to the original game's installed data files, relative to GamePath.
Usually it's
.IR data .

.TP
.BR GameOverridePath =PATH
Path to the original game's override dir, relative to GamePath.
Usually it's
.IR override .
Original games use this directory to place last-minute patches.

.TP
.BR GameCharactersPath =PATH
Path to the original game's installed data files, relative to GamePath.
Usually it's
.IR characters .

.TP
.BR GamePortraitsPath =PATH
Path to the original game's installed data files, relative to GamePath.
Usually it's
.IR portraits .

.TP
.BR GameScriptsPath =PATH
Path to the original game's installed data files, relative to GamePath.
Usually it's
.IR scripts .

.TP
.BR GameSoundsPath =PATH
Path to the original game's installed data files, relative to GamePath.
Usually it's
.IR sounds .

.BR GameLanguagePath =PATH
Path to the original game's installed data files, relative to GamePath.
By default, it is
.IR lang/en_US .

.TP
.BR GameMoviesPath =PATH
Path to the original game's installed data files, relative to GamePath.
Usually it's
.IR movies .

.TP
.BR ModPath =PATH
Path where GemRB looks for additional engine override files.
It is not set by default. This directory has precedence over
.IR GemRBOverridePath .

.TP
.BR CustomFontPath =PATH
Path where GemRB looks for additional font files. It is meant to be used
with the TTF font plugin and fonts.2da as a way to specify where to look for
system or other external fonts. Check the online documentation for the details.
It is not set by default.

.\"###################################################
.SH Input Parameters:

.TP
.BR DoubleClickDelay =INT
Millisecond threshold for detecting a double click. The default is 250.

.TP
.BR RepeatKeyDelay =INT
Millisecond threshold for detecting a repeated key press. The default is 250.

.TP
.BR UseSoftKeyboard =(0|1)
Toggles use of software keyboard on devices that support one. It pops up when
text input is required. Disabled by default.

.TP
.BR NumFingScroll =(2|3|4)
Number of fingers for multitouch to trigger scrolling. The default is 2.

.TP
.BR NumFingKboard =(2|3|4)
Number of fingers for multitouch to open up the software keyboard. The default is 3.
The value should not be equal to
.IR NumFingScroll " above."

.TP
.BR NumFingInfo =(2|3|4)
Number of fingers for multitouch to emulate a special keypress (alt, tab). The default is 2.

.TP
.BR MouseFeedback =(0-3)
Bitfield with reserved bits for disabling the mouse.
  Show mouse+tooltips = 0 (default)
  Hide mouse          = 1
  Hide tooltips       = 2
  Hide mouse+tooltips = 3

.TP
.BR TouchInput =(0-1)
Override setting for when autodetection does not have satisfactory results.
  Autodetect         = -1 (default)
  Force disable      = 0
  Enable             = 1

.\"###################################################
.SH Development parameters:

.TP
.BR EnableCheatKeys =(0|1)
This parameter is meant for developers. If set to
.IR 1 ,
certain keys allow you to inspect the internal state of objects, do forbidden things, etc.
The keys are listed in the
.I CheatKeys.txt
file. Do NOT use this option unless you want to make your hands dirty :-). The default is
.IR 0 .

.TP
.BR DrawFPS =(0|1)
This parameter is meant for developers. If set to
.IR 1 ,
the current FPS (Frames per Second) value is drawn in the top left window corner. The default is
.IR 0 .

.TP
.BR DebugMode =(n)
This parameter is meant for developers. It is a combination of bit values

.IR 1
- count references,

.IR 2
- display cutscene warnings,

.IR 4
- display variable warnings,

.IR 8
- display action warnings,

.IR 16
- display trigger warnings,

.IR 32
- enable views debug mode,

.IR 64
- enable window debug mode,

.IR 128
- enable font debug mode,

.IR 256
- enable text debug mode.

.IR 512
- enable pathfinding debug mode.

The default is
.IR 0 .

.TP
.BR DelayPlugin =FILENAME
Named plugin will be loaded after other (nondelayed) plugins were loaded.
.IR FILENAME
is a name without path, but with extension, for example
.IR libNullSound.so
or
.IR libNullSound.dll .
You can use this parameter more than once.

.TP
.BR SkipPlugin =FILENAME
Named plugin will not be loaded.
.IR FILENAME
is a name without path, but with extension, for example
.IR libNullSound.so
or
.IR libNullSound.dll .
You can use this parameter more than once.

.TP
.BR SaveAsOriginal =(0|1)
Set this parameter to
.IR 1 ,
if you want to keep the save game compatible with the original engine. It is enabled by default.

.TP
.BR KeepCache =(0|1)
Set this parameter to
.IR 1 ,
if you want to keep the cache after exiting GemRB. It is disabled by default.

.TP
.BR GamepadPointerSpeed =INT
Pointer movement speed with gamepads. The default is 10.

.TP
.BR VitaKeepAspectRatio =(0|1)
If set to
.IR 1 ,
original aspect ratio is preserved while game area is scaled to native PS Vita resolution. It is enabled by default.

.\"###################################################
.SH FILES
.PD 0
.TP
.B @SYSCONF_DIR@/gemrb.cfg
system-wide configuration file

.TP
.B @DATA_DIR@/unhardcoded/
directory with
.BR GemRB -distributed
data files. These used to be hardcoded in the original engine. The files
are sorted into directories for specific games.

.TP
.B @DATA_DIR@/override/
directory with
.BR GemRB -distributed
data files. These files override their namesakes in the original data.

.TP
.B @DATA_DIR@/GUIScripts/
directory with Python scripts providing GUI setup and interaction. The files
are sorted into directories for specific games.

.TP
.B $XDG_CONFIG_PATH/gemrb/
user's own configuration files.
.PD

.\"###################################################
.SH BUGS
Many.
.B GemRB
is still in development stage and not complete.

If you stumble over something which is supposed to work but doesn't,
file an issue at https://github.com/gemrb/gemrb or first visit the 
official IRC channel
.I #GemRB
on the FreeNode IRC network.

.\"###################################################
.SH AUTHOR
The GemRB Project development team at https://gemrb.org

.\"###################################################
.SH COPYING
Copyright (C) 2003-2021 The GemRB Project

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

.\"###################################################
.\"End of file gemrb.man
